package com.wmh.baseservice.skd.service;

import com.wmh.baseservice.skd.pojo.SkdGoodsInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wmh.baseservice.skd.pojo.vo.AddGoodsReqVO;

import java.math.BigDecimal;
import java.util.Map;

/**
* @author CH
* @description 针对表【skd_goods_info(平台商品表)】的数据库操作Service
* @createDate 2023-12-24 14:37:07
*/
public interface SkdGoodsInfoService extends IService<SkdGoodsInfo> {

    /**
     * 统计指定用户上下架的商品
     * @param usId 用户id
     * @return 返回上下架的商品数量
     */
    Map<Integer, Integer> countGoodsOffShelvesByUserId(Long usId);

    /**
     * 添加商品
     * @param reqVO 添加商品请求体
     * @return 返回是否添加成功信息
     */
    String addGoods(AddGoodsReqVO reqVO);

    /**
     * 校验商品规格参数是否合法
     * @param jsonString 商品规格json字符串
     * @return 返回是否合法
     */
    boolean isValidGoodsSpec(String jsonString);

    /**
     * 修改商品规格
     * @param goodsId 商品id
     * @param spec 修改商品规格请求体
     * @return 返回是否修改成功信息
     */
    String modifyGoodsSpec(Long userId, Long goodsId, String spec);

    /**
     * 根据商品id获取商品图片url
     * @param goodsId 商品id
     * @return 返回首张图片地址
     */
    String getGoodsImageUrlById(Long goodsId);

    /**
     * 根据商品id获取商品价格
     * @param goodsId 商品id
     * @return 返回商品价格
     */
    BigDecimal getGoodsPriceById(Long goodsId);
}
